package com.example.itcacp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.itcacp.entity.Content;
import com.example.itcacp.entity.Like;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;


public interface ContentService extends IService<Content> {

    /**
     * 查询全部内容
     * */
    List<Content> selectContentAll (Like.ContentType contentType);

    /**
     * 分页查询
     * */
    PageInfo<Content> selectContentPage (Integer pageNum, Integer pageSize, Like.ContentType contentType);

    /**
     * 查询内容详情
     * */
    Content findContentDetailById(Long contentId, Like.ContentType contentType, Long userId);

    /**
     * 上传缓存图片
     * */
    String uploadImage(MultipartFile file) throws IOException;

    /**
     * 添加内容
     *
     * @return
     */
    void add(Content content);

    /**
     * 内容作者其他同类型作品查询
     * */
    List<Content> selectContentAllByUser(Like.ContentType contentType, Long userId);

    /**
     * 根据内容Id列表查询对应内容
     * */
    List<Content> selectContentByIds(List<Long> contentIds);

    PageInfo<Content> selectContentAllByUser(Integer pageNum, Integer pageSize, Long userId);

    List<Content> selectContentAllByUser(Long userId);

    List<Content> searchContent(String content, Long userId);

    List<Content> search(String query);
}
